home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_08_12 / 8n12121a < prev    next >
Text File  |  1990-10-29  |  829b  |  43 lines

  1.  
  2. /**** LISTING 1 *******/
  3. /* States */
  4. #define S_OFF          1
  5. #define S_POWER        2
  6. #define S_READY        3
  7. #define S_PLAY         4
  8. #define S_FAST_F       5
  9. #define S_REWIND       6
  10. #define S_RECORD       7
  11.  
  12. /* Events */
  13. #define E_POWER        1
  14. #define E_CHAN_UP      2
  15. #define E_CHAN_DOWN    3
  16. #define E_TAPE_IN      4
  17. #define E_TAPE_EJECT   5
  18. #define E_STOP         6
  19. #define E_PLAY         7
  20. #define E_RECORD       8
  21. #define E_FAST_F       9
  22. #define E_REWIND      10
  23. #define E_TIMEOUT     11
  24.  
  25. /* Miscellaneous */
  26. #define END           -1
  27. #define MAX_CHAN      13
  28.  
  29. /* Argument Structure */
  30. typedef struct {
  31.     int cur_state;
  32.     int chan; 
  33. } ARG;
  34.  
  35. /* State Table Structure */
  36. typedef struct {
  37.     int state;
  38.     int event;
  39.     int n_state;
  40.     int (*flist[5]) ();
  41. } S_TABLE;
  42.  
  43.